<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    //  面向过程编程和面向对象编程


    //  面向过程编程  => 分析解决问题的步骤,然后通过变量和函数一一实现,使用时依次调用即可
    //  购物车 =>  全选 反选 加减 删除 结算
    //  元素拖拽 =>  1.先按下 => 记录按下的位置 2. 在移动 => 盒子跟随鼠标移动 3. 在松开 => 盒子不在跟随鼠标移动
    //  轮播  => 1. 点击切换  2. 自动切换  3. 移入暂停,移出启动  4. 左右切换 


    //  面向对象编程
    //  思想上的提升,  就是将你的需求抽象成一个对象,然后针对这个对象分析其特征(属性)与行为(方法)--这个对象就称之为类(面向对象)  
    //  什么是对象?   => 对一个或一类事物特征(属性)和行为(方法)的描述  
    // 也就是说 把构成问题的事务（事务：一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit) ），分解成各个对象，建立对象的目的是为了描述某个事物在整个解决问题的步骤中的行为
  

    // 公司: 产品经理 UI 前端 后端 测试 运维 前台 财务 行政  (大量的分工 精密的协作)

    // 面向对象的三大特征: 封装 继承 多态 



    // 把大象放到冰箱中需要几步?

    // 面向过程
    // 1. 大象  冰箱
    // 2. 打开冰箱  open(){}
    // 3. 把大象放到冰箱中 put(){}
    // 4. 关上冰箱

    // 面向对象编程
    /* var elephant = {
        name:"小象",
        age:2,
        weight:"500kg",
        skill:function(){
            console.log("吸水");
        }
    }

    var iceBox = {
        brand:"海尔",
        price:"1999.00",

        open:function(){
            console.log("打开冰箱灯");
        },
        put:function(target){
            if("放在保鲜层"){
                console.log("温度: 1-5度");
            }else if("冷冻层"){
                console.log("温度: -20 - 0度");
            }
        },
        close:function(){
            console.log("关闭冰箱灯");
        }
    }

    iceBox.open();
    iceBox.put(elephant);
    iceBox.close(); */

      // 最简单的面向对象 => 字面量对象(就是将面向过程中的变量和函数 整合到对象中 作为对象的属性和方法)


</script>
</html>